package com.likeycy.my.tree;

/**
 * @ClassName: IBinaryTree
 * @Description: 树的接口应该具备的方法
 * @Author: sodagreen
 * @Date: 2021/3/5 11:10
 * @Version: 1.0
 */
public interface IBinaryTree<E> {

    /**
     * 获取元素的总数目
     * @return
     */
    int size();

    /**
     * 判断存储元素的容器是否为空
     * @return
     */
    boolean isEmpty();

    /**
     * 清空存储元素的容器
     */
    void clear();

    /**
     * 向存储元素的容器尾部添加元素
     * @param element
     */
    void add(E element);

    /**
     * 移除指定的元素并返回
     * @param element
     */
    void remove(E element);

    /**
     * 检查指定的元素是否包含在容器中。
     * @param element
     * @return
     */
    boolean contains(E element);
}
